Scheduling Jobs

Purpose: You can use the job scheduler to schedule when a periodic process runs. You can define a periodic process to run once, daily, weekly, monthly, yearly, or at the start or end of a month.

In this chapter:

How to Schedule a Job

- Defining the Job Schedule

- Periodic Process Scheduling Examples

Scheduled Jobs Screen

Scheduled Jobs Troubleshooting

- Scheduled Jobs Log

- Troubleshooting Questions

Periodic Functions Available to Schedule

- General Usage (ALL) Periodic Functions

- Customer Service (C/S) Periodic Functions

- E-Commerce (EDC) Periodic Functions

- Fulfillment (FUL) Periodic Functions

- Interface (INT) Periodic Functions to Start and Stop IJCT Jobs

- Additional Interface (INT) Periodic Functions

- Inventory (INV) Periodic Functions

- Order Entry (O/E) Periodic Functions

How to Schedule a Job

Purpose: Use the following steps to schedule a periodic process to run based on a defined schedule.

1. Use the Working with Periodic Functions (WPER) menu option to create a periodic function for the job you wish to execute. See Periodic Functions Available to Schedule for a list of periodic functions that you may wish to schedule.

2. Use the Working with Periodic Processes (WPPR) menu option to assign the periodic function(s) to a periodic process.

3. Once you have created the periodic process, you can use the Execute Periodic Process screen (located in the Working with Periodic Processes (WPPR) or Executing Periodic Processes (EPRO) menu option) to define a schedule for the job. See Defining the Job Schedule.

Execute process through web service: You can also use the CWProcessIn message or the ProcessIn message to start a periodic process. See Using the CWProcessIn Message to Start a Periodic Process or Using the ProcessIn REST Message to Start a Periodic Process for more information.

Execute process on server startup: You can also schedule a periodic process and its assigned periodic functions to start on server startup. See Running a Periodic Process on Server Startup for more information.

Running the job scheduler in a multiple server environment: If you have more than one application server, the scheduled jobs are shared across all servers.

• If one of the servers goes down, the system will run the scheduled job on the server that is available.

• If all servers go down, and a job was scheduled to run during the time the servers were down, the scheduled job will run the next time it is scheduled to run. For example, if a report was scheduled to run at 3 PM every day, but the servers were down between 2 PM and 4 PM, the report will not run until its next scheduled run at 3 PM the next day.

• Any generated reports or forms are available to view an print on all servers.

Defining the Job Schedule

Use the Execute Periodic Process screen (located in the Working with Periodic Processes (WPPR) or Executing Periodic Processes (EPRO) menu option) to define a schedule for a periodic process.

If the periodic process is scheduled to run on server startup: If you have scheduled the periodic process to run on server startup, do not define a job schedule for this periodic process. Instead, create one periodic process to run on server startup and a separate periodic process to schedule for other times. See Using the CWProcessIn Message to Start a Periodic Process for more information.

1.

At the Execute Periodic Process screen, enter a valid company code in the Company field.

2.

Enter a valid job queue in the Job queue field. If you leave this field blank, the system submits the periodic process to QBATCH.

Note: If you wish to run the job in a designated queue, define that queue. Use the PICKGEN job queue when scheduling pick slip generation or deposits.

3.

Select when to execute the periodic process using the Frequency field.

Now = Execute the periodic process immediately. Note: If you select Now, the system does not add the periodic process to the Job Scheduler.

Once = Schedule the periodic process to run once, and only once, at a specified date and time in the future.

Daily = Schedule the periodic process to run once a day at a specified time.

Weekly = Schedule the periodic process to run once a week, at a specified time, on a specified day of the week.

Monthly = Schedule the periodic process to run once a month on a specified day and time.

Month Start = Schedule the periodic process to run once a month on the first day of the month at a specified time.

Month End = Schedule the periodic process to run once a month on the last day of the month at a specified time.

See Periodic Process Scheduling Examples for examples of how to schedule a periodic process.

4.

The Frequency field indicates which Scheduling fields are required, based on the frequency option you select:

Now = You do not need to define additional parameters.

Once = You must specify the Date and Time to execute the process. The system validates that the Date is greater than or equal to today. If you enter today's date, the system validates that the Time is greater than or equal to the current time.

Daily = You must specify the Time to execute the process.

Weekly = You must specify the Time and Day of week to execute the process.

Monthly = You must specify the Time and Day of month to execute the process.

Month Start = You must specify the Time to execute the process.

Month End = You must specify the Time to execute the process.

5.

If you enter a value in any of the Scheduling fields that is not required for the frequency you selected, the system ignores those entries when executing the periodic process. For example, if you select Now for the Frequency and also enter a value in the Weekly field, the system executes the periodic process immediately and ignores the value in the Weekly field.

6.

Select OK to advance to the Second Execute Periodic Process Screen. At this screen, you can select the functions within the process to execute.

• If the periodic process is scheduled to execute immediately (you selected Now in the Frequency field), select Execute or Execute & Save Overrides to execute the periodic process and optionally, save the job parameters.

• If the periodic process is scheduled to execute at a specified time in the future (you selected a value other than Now in the Frequency field), select Schedule. The system adds the periodic process to the job scheduler and does not execute the periodic process until the specified time is reached.

Periodic Process Scheduling Examples

The table below provides examples of how to define a schedule for a periodic process.

Schedule

Procedure

Execute the periodic process immediately.

Select Now for the Frequency. The system submits the job to the specified job queue for the user that executed the periodic process.

Note: Because the process is executed immediately, the system does not add the periodic process to the job scheduler.

Execute the periodic process tonight at 7 PM. Do not run the process any other night.

Example: End asyncs tonight at 7 PM.

• Select Once for the Frequency.

• Enter the current date in the Date field.

• Enter 190000 (7 PM in military time) in the Time field.

Execute the periodic process today at 3 PM and tomorrow at 8 AM. Do not run the process at any other time.

Example: Run a status report today at 3 PM and again tomorrow at 8 AM.

Note: You need to create more than one schedule for the periodic process.

First Schedule:

• Select Once for the Frequency.

• Enter the current date in the Date field.

• Enter 150000 in the Time field.

Second Schedule:

• Select Once for the Frequency.

• Enter tomorrow's date in the Date field.

• Enter 080000 in the Time field.

Execute the periodic process every morning at 6 AM.

Example: Start asyncs every morning at 6 AM.

• Select Daily for the Frequency.

• Enter 060000 in the Time field.

Execute the periodic process every morning, except Saturdays and Sundays, at 6 AM.

Example: Start the asyncs every morning during the work week at 6 AM.

Note: You need to create more than one schedule for the periodic process.

First Schedule:

• Select Weekly for the Frequency.

• Select Monday for the Day of week.

• Enter 060000 in the Time field.

Second Schedule:

• Select Weekly for the Frequency.

• Select Tuesday for the Day of week.

• Enter 060000 in the Time field.

Third Schedule:

• Select Weekly for the Frequency.

• Select Wednesday for the Day of week.

• Enter 060000 in the Time field.

Fourth Schedule:

• Select Weekly for the Frequency.

• Select Thursday for the Day of week.

• Enter 060000 in the Time field.

Fifth Schedule:

• Select Weekly for the Frequency.

• Select Friday for the Day of week.

• Enter 060000 in the Time field.

Run the periodic process every week on Mondays at 10 AM.

Example: Run the weekly status reports every Monday at 10 AM.

• Select Weekly for the Frequency.

• Select Monday for the Day of week.

• Enter 100000 in the Time field.

Run the periodic process every month on the 25th day of every month at 7 PM.

Example: Run the monthly status reports on the 25th day of every month at 7 PM.

• Select Monthly for the Frequency.

• Enter 25 in the Day of month field.

• Enter 190000 in the Time field.

Run the periodic process on the first day of every month at 8 AM.

Example: Run the monthly status report on the first day of every month at 8 AM.

• Select Month Start for the Frequency.

• Enter 080000 in the Time field.

Run the periodic process on the last day of every month at 9 PM.

Example: Run the monthly status report on the last day of every month at 9 PM.

• Select Month End for the Frequency.

• Enter 210000 in the Time field.

Scheduled Jobs Screen

Overview: Use this screen to review the periodic processes scheduled to run at a specified time.

Note: Any job monitor rules scheduled to run at a specified time also display on this screen; see Monitoring Jobs.

How to display this screen: Select Scheduled Jobs at the Commands screen.

To advance to the Commands screen:

1. Select the My Jobs icon ( in the upper right area of a screen) to advance to the Job Management screen.

2. At the Job Management screen or other Admin screen (such as the About Application, Forms Management Screen, User Control, or System Messages screens), select Advanced Commands to advance to the Commands screen.

Note: The Advanced Commands option will not display if you do not have authority to advanced commands; see User Configuration in the Administration Guide for more information on setting a user’s password and system authority.

Field

Description

Job name

The name of the periodic process or job monitor rule that is scheduled to run at a specified time.

Alphanumeric, 10 positions; display-only.

Schedule

A description of when the periodic process is scheduled to run.

This description is based on the Frequency you defined for the periodic process.

• If the frequency is Once, the schedule displays as: At HH:MM:SS on DD/MM/YYYY. For example: At 12:30:00 on 04/05/2007.

• If the frequency is Daily, the schedule displays as: At HH:MM:SS every day. For example: At 12:30:00 every day.

• If the frequency is Weekly, the schedule displays as: At HH:MM:SS every week on DAY. For example: At 12:30:00 every week on Monday.

• If the frequency is Monthly, the schedule displays as: At HH:MM:SS every month on day XX. For example: At 12:30:00 every month on day 15.

• If the frequency is Month Start, the schedule displays as: At HH:MM:SS every first day of the month. For example: At 12:30:00 every first day of the month.

• If the frequency is Month End, the schedule displays as: At HH:MM:SS every last day of the month. For example: At 12:30:00 every last day of the month.

Alphanumeric, calculated by the system; display-only.

Next run

The date and time the periodic process will next be executed.

UNKNOWN displays if someone has deactivated the job scheduler.

Alphanumeric, calculated by the system; display-only.

Last run

The date and time the periodic process was last executed.

UNKNOWN displays if:

• someone has deactivated and then reactivated the job scheduler.

• the periodic process has been submitted to the job scheduler, but has not yet been executed.

• the server has been restarted and the job has not run yet.

Alphanumeric, calculated by the system; display-only.

Status

The current status of the scheduled job.

Valid values are:

SCD = Scheduled. The job is actively scheduled and will run at its next scheduled time, defined in the Next run field.

INACTIVE = Inactive. The job is not on the schedule and will not run until it is activated.

ERROR = Error. The job could not be scheduled due to some error. The system writes a description of the error to the Application log (APP.log). Possible error reasons:

- by the time you select to schedule the job on the Second Execute Periodic Process Screen (Selecting Functions), the scheduled time has passed.

- You deactivated the job scheduler, and by the time the job scheduler was reactivated, the time the scheduled job was supposed to run has passed and it is not scheduled to run again. For example, it was supposed to run one time today at 12:00:00, but at that time the scheduled job was INACTIVE.

Alphanumeric, 8 positions; display-only.

User

The user ID of the user that scheduled the periodic process.

Note: When the system executes the periodic process, the system submits the job to the specified job queue using the name of the user that scheduled the job.

Alphanumeric, 10 positions; display-only.

Screen Option

Procedure

Delete a periodic process that is scheduled to run

Select Delete for a scheduled job to remove it from the scheduler. The periodic process will no longer display in the list of scheduled jobs.

If you wish to reschedule the job, you will need to use the First Execute Periodic Process Screen (Setting Parameters) to create a new job schedule.

Deactivate each job in a scheduled status that is scheduled to run

Select Deactivate Schedule.

The system:

• removes all of the scheduled jobs from the schedule and updates their status to INACTIVE.

• updates the Next run and Last run fields for each scheduled job to UNKNOWN.

• will not execute any jobs until you reactivate the job scheduler.

Note:

• If you schedule a new job after you have deactivated the job scheduler, the system adds the job to the scheduler in an active, or scheduled (SCD), status.

Activate each job in an Inactive status that is scheduled to run

Select Activate Schedule.

The system:

• updates all jobs that are in an INACTIVE status to a SCD (scheduled) status and adds them back to the job schedule.

• updates the Next run field to the next time each job is scheduled to run.

Refresh job schedule on the screen

Select Refresh Schedule.

The system:

• removes any scheduled jobs that are no longer scheduled to execute at a future time.

• adds any newly scheduled jobs that are scheduled to execute at a future time.

• Updates the Next run, Last run, and Status fields for existing scheduled jobs.

Display information about Order Management System Cloud Service

Select About.

Advance to the Document Management Screen

Select My Docs.

Advance to the Forms Management Screen

Select My Forms.

Advance to the Job Management screen

Select My Jobs.

Advance to the Advanced Commands screen, where you can advance to additional commands

Select Advanced commands.

Return to the main menu

Select Exit.

Scheduled Jobs Troubleshooting

Scheduled Jobs Log

Order Management System Cloud Service writes a message to the Application log (APP.log) when:

• you add a periodic process to the job scheduler

• you remove a periodic process from the job scheduler

• you deactivate the job scheduler

• you activate the job scheduler

• the server is restarted

• the job scheduler executes a scheduled periodic process and updates the next time the job is scheduled to run

• an error occurs during job scheduling

Troubleshooting Questions

Some possible troubleshooting questions and answers are:

Question

Possible Answer(s)

My periodic process does not display on the Scheduled Jobs screen.

• Periodic processes selected to run Now run immediately and are never included in the job scheduler.

• The Next run time for the periodic process has passed and the job was not scheduled to run again.

Why is the Last run field set to UNKNOWN?

• The periodic process has been submitted to the job scheduler, but has not yet been executed.

• The job scheduler has been deactivated, which updates the Last run field to UNKNOWN.

• The server has been restarted and the job has not run yet.

Can I delete all jobs from the scheduler?

You must delete each job from the scheduler individually.

I created a periodic process to stop and restart asyncs, and asyncs did not start correctly.

Do not create one periodic process to stop and restart asyncs. You need to allow a certain amount of time for the system to completely stop the aysncs before restarting the asyncs. Instead, create one periodic process to stop the asyncs and create a separate periodic process to start the asyncs. Depending on the typical amount of transactions that need to be processed before the asyncs can end, you should allow 5 - 30 minutes between stopping the asyncs and starting the aysncs.

It looks like my scheduled job ran at the correct time, but I don’t see the expected results.

Example: Asyncs were scheduled to start at 7AM this morning, but they are still inactive at 8AM.

Make sure that the submitted job is not waiting to run behind another job in the queue. When the system executes a scheduled job, the job is placed in the specified job queue for the user that scheduled the job.

• If the job queue is a single threaded queue, the job will fall behind any other jobs that are already waiting to process in that queue.

• If the job queue is a multi threaded queue, the job will execute immediately.

Note: If the scheduled job is to start or end asyncs, but the asyncs are already started or stopped, the scheduled job will run, but do nothing since the asyncs are already in the correct status.

Can I change the parameters of a scheduled job?

No, if you wish to change the parameters of a scheduled job, such as adding or removing a periodic function from the process, changing the scheduled time, or changing the job queue, you will need to remove the scheduled job from the job scheduler and create a new schedule for the job.

Why is my scheduled job in an error status?

• By the time you select to schedule the job on the Second Execute Periodic Process Screen (Selecting Functions), the scheduled time has passed.

• You deactivated the job scheduler, and by the time the job scheduler was reactivated, the time the scheduled job was supposed to run has passed and it is not scheduled to run again. For example, it was supposed to run one time today at 12:00:00, but at that time the scheduled job was INACTIVE.

Note: The system writes a description of the error to the Application log (APP.log).

Scheduled Jobs OMSCS 19.0 December 2019 OHC